import 'package:flutter/material.dart';
import 'package:flutterdemo01/newsData.dart';

main() {
  runApp(MyApp());
}

//----------------------- Stack --------------------------------

// class MyApp extends StatelessWidget {
//   @override
//   Widget build(BuildContext context) {
//     return MaterialApp(
//       theme: ThemeData(primaryColor: Colors.yellow),
//       home: Scaffold(
//         appBar: AppBar(title: Text('stack'),),
//         body: Stack(
//           alignment: Alignment.center,
//           children: [
//             Container(
//               width: 200,
//               height: 200,
//               color: Colors.yellow,
//             ),
//             Text('this is data',style: TextStyle(color: Colors.black, fontSize: 20),)
//
//           ],
//         ),
//       ),
//     );
//   }
// }

// class MyApp extends StatelessWidget {
//   @override
//   Widget build(BuildContext context) {
//     return MaterialApp(
//       theme: ThemeData(primaryColor: Colors.yellow),
//       home: Scaffold(
//           appBar: AppBar(
//             title: Text('STACK'),
//           ),
//           body: Container(
//             width: 300,
//             height: 300,
//             child: Stack(
//               children: [
//                 Align(
//                   child: Container(
//                     color: Colors.black,
//                   ),
//                 ),
//                 Align(
//                   child: Text(
//                     '我是数据一',
//                     style: TextStyle(color: Colors.yellow),
//                   ),
//                   alignment: Alignment.topRight,
//                 ),
//                 Align(
//                     child: Text(
//                   '我是数据2',
//                   style: TextStyle(color: Colors.white),
//                 )),
//                 Align(
//                   child: Text(
//                     'this is data3',
//                     style: TextStyle(color: Colors.red),
//                   ),
//                   alignment: Alignment(-0.2, 1), //动态设置位置
//                 )
//               ],
//             ),
//           )),
//     );
//   }
// }

//----------------------- AspectRatio --------------------------------

// class MyApp extends StatelessWidget {
//   @override
//   Widget build(BuildContext context) {
//     return MaterialApp(
//       theme: ThemeData(primaryColor: Colors.red),
//       home: Scaffold(
//         appBar: AppBar(
//           title: Text('AspectRatio'),
//         ),
//         body: AspectRatio(
//           aspectRatio: 2,//宽高比
//           // child: Container(
//           //   height: 300,
//           //   color: Colors.red,
//           // ),
//        child: Image.network("https://www.itying.com/images/flutter/1.png", fit: BoxFit.cover,),
//         ),
//       ),
//     );
//   }
// }

//----------------------- card --------------------------------

// class MyApp extends StatelessWidget {
//   @override
//   Widget build(BuildContext context) {
//     return MaterialApp(
//       theme: ThemeData(primaryColor: Colors.white),
//       home: Scaffold(
//         appBar: AppBar(
//           title: Text('card'),
//         ),
//         body: Card(
//           // margin: EdgeInsets.all(12),
//           elevation: 5,
//           shadowColor: Colors.lightBlue,
//           child: Container(
//             // margin: EdgeInsets.all(100),
//             width: 100,
//             height: 100,
//             color: Colors.red,
//           ),
//         ),
//       ),
//     );
//   }
// }

//----------------------- practice --------------------------------

// class MyApp extends StatelessWidget {
//   @override
//   Widget build(BuildContext context) {
//     return MaterialApp(
//       theme: ThemeData(primaryColor: Colors.lightBlue),
//       home: Scaffold(
//         appBar: AppBar(
//           title: Text("practice"),
//         ),
//         body: HomeContent(),
//       ),
//     );
//   }
// }
//
// class HomeContent extends StatelessWidget {
//   @override
//   Widget build(BuildContext context) {
//     return Card(
//       elevation: 5,
//       // shape: Border.all(width: 5, color: Colors.black),
//       shape: RoundedRectangleBorder(
//           borderRadius: BorderRadius.all(Radius.circular(5))),
//       shadowColor: Colors.black,
//
//       child:  Column(
//         mainAxisSize: MainAxisSize.min,//自适应高度
//           children: [
//             AspectRatio(
//               aspectRatio: 2,
//               child: Container(
//
//                 decoration: BoxDecoration(
//                   borderRadius: BorderRadius.only(topLeft:Radius.circular(5), topRight: Radius.circular(5)),
//                   image: DecorationImage(
//                     image: NetworkImage(
//                         'https://www.itying.com/images/flutter/1.png',
//                     ),fit: BoxFit.cover
//
//                   )
//                 ),
//               ),
//             ),
//             Container(
//               height: 80,
//               // color: Colors.green,
//               child:  ListTile(
//                 leading: CircleAvatar(
//                   backgroundImage:
//                   NetworkImage('https://www.itying.com/images/flutter/1.png'),
//                 ),
//                 title: Text(
//                   '土耳其警方逮捕9名极端组织嫌犯',
//                   style: TextStyle(fontSize: 18),
//                   maxLines: 1,
//                 ),
//                 subtitle: Text(
//                   '据土耳其阿纳多卢通讯社当地时间12月25日报道，土耳其警方突击搜查了第一大城市伊斯坦布尔的13个可疑地点，抓获了9名涉嫌与“伊斯兰国”极端组织有关的嫌犯，并缴获大量与极端组织有关的资料。9名嫌犯均为外籍人士，目前6人获得假释，3人仍被拘留',
//                   maxLines: 2,
//                   overflow: TextOverflow.ellipsis,
//                 ),
//
//               ),
//             )
//           ],
//         ),
//
//     );
//   }
// }


//----------------------- practice2 -------------------------------

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(primaryColor: Colors.green),
      home: Scaffold(
        appBar: AppBar(title: Text('practice2'),),
        body: Content(),
      ),
    );
  }

}

class Content extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ListView.builder(
      itemCount: newsData.length,
        itemBuilder: (context, index) {
        return Card(
          child: Column(
            children: [
              AspectRatio(aspectRatio: 16/9, child: Image.network(newsData[index]['imageUrl'], fit: BoxFit.cover,),),
              ListTile(
                leading: CircleAvatar(
                  backgroundImage: NetworkImage(newsData[index]['imageUrl']),
                ),
                title: Text(newsData[index]['title'], maxLines: 1,),
                subtitle: Text(newsData[index]['author'], maxLines: 2,),
              )
            ],
          ),
        );
        });
  }
}